home *** CD-ROM | disk | FTP | other *** search
/ PC World 2004 December / PCWorld_2004-12_cd.bin / software / temacd / tiny / tf6pro-6[1].0.140.exe / Tiny Firewall Pro 6.0.msi / users.js < prev    next >
Encoding:
JavaScript  |  2004-07-20  |  3.0 KB  |  110 lines

  1. /*//////////////////////////////////////////////////////////////////////
  2. filename:         users.js
  3. copyright(c):     2002, 2003 Tiny Software Inc (http://www.tinysoftware.com)
  4. author:         Jozef Palocko (jpalocko@tinysoftware.com)
  5. product:         Tiny Personal Firewall 5.x
  6. description:     users combo implementation
  7. ///////////////////////////////////////////////////////////////////////*/
  8.  
  9. var strUserEnterLink = '<A href="#??" onclick="OnEnterUser();">user not listed? click here</A>',
  10.     strUserEnterText = 'Enter user name:<INPUT type="text" id="id_text_user" style="margin-right:5pt;"></INPUT>' +
  11.                         '<INPUT type="button" onclick="OnUserEntered();" value="OK" style="margin-right:5pt;"></INPUT>' +
  12.                         '<INPUT type="button" onclick="OnUserClose();" value="Cancel" style="margin-right:5pt;"></INPUT>';
  13. var bIsUserEnteredManually = false;
  14. var strDomainGroupPrefix = "$GD_",
  15.     strLocalGroupPrefix = "$GL_";
  16.                         
  17. function LoadUser(combo)
  18. {
  19.     if (bIsUserEnteredManually)
  20.         tagUser = id_text_user.value;
  21.     else
  22.         tagUser = combo.options[combo.selectedIndex].value;
  23.     strUser = tagUser.split("@");
  24.     window.external.LoadActiveCfg(strUser[0], strUser[1]);
  25.     Refresh();
  26. }
  27.  
  28. function OnUserClose()
  29. {
  30.     id_enter_user.innerHTML = strUserEnterLink;
  31. }
  32.  
  33. function OnEnterUser()
  34. {
  35.     id_enter_user.innerHTML = strUserEnterText;
  36. }
  37.  
  38. function OnUserEntered()
  39. {
  40.     if (id_text_user.value == "")
  41.     {
  42.         alert("You must enter a non-empty name");
  43.         return;
  44.     }
  45.     bIsUserEnteredManually = true;
  46.     window.external.RegisterUser(id_text_user.value);
  47.     LoadUser( null );
  48. }
  49.  
  50. function GetUsersHtml()
  51. {
  52.     var strUsers= "";
  53.     try
  54.     {    
  55.         strActiveUser  = window.external.LoggedUser;
  56.         var arr = 0;
  57.         arr = window.external.GetRegisteredUsers();
  58.         if(arr!=null)
  59.         {
  60.             arrUsers = arr.toArray();
  61.             if (arrUsers.length >1)
  62.             {
  63.                 strUsers = '<SELECT NAME="Users" SIZE="1" onchange="bIsUserEnteredManually = false; LoadUser(this)">';
  64.                 for (i = 0; i < arrUsers.length; i++)
  65.                      {
  66.                     strSelected ="";
  67.                     if (strActiveUser.toLowerCase() == arrUsers[i].toLowerCase())
  68.                         strSelected = " SELECTED";
  69.                     strUsers +='<OPTION VALUE="'+ arrUsers[i] +'" '+ strSelected +'>'+ TrimPrefix(arrUsers[i])+'</option>';
  70.                     
  71.                 }
  72.                 strUsers += '<OPTION value=""'; if (strActiveUser == "") strUsers += ' selected'; strUsers += '>(default)</OPTION>';
  73.             }
  74.             else
  75.                 strUsers = arrUsers[0];
  76.         }
  77.         else
  78.             strUsers = strActiveUser;
  79.     }
  80.     catch(x)
  81.     {}
  82.     
  83.     return strUsers;
  84. }
  85.  
  86. function TrimPrefix(strUser)
  87. {
  88.     var strPrefix = strUser.substr(0, strDomainGroupPrefix.length);
  89.     if (strPrefix == strDomainGroupPrefix)
  90.         return strUser.substr(strDomainGroupPrefix.length);
  91.     if (strPrefix == strLocalGroupPrefix)
  92.         return strUser.substr(strLocalGroupPrefix.length);
  93.     return strUser;
  94. }
  95.  
  96.     function menuchange(td,MO)
  97.     {
  98.   
  99.         if (MO==1)
  100.         {
  101.             td.style.background='#E7EFF7'; 
  102.             td.style.border='1px solid rgb(0,0,0)';
  103.         } 
  104.   
  105.         if (MO==0)
  106.         {
  107.             td.style.background='#E7EFF7'; 
  108.             td.style.border='1px solid #E7EFF7';
  109.         }
  110.     }